Skip to main content
Version: 1.2.x

Table of Content (ToC)

Description​

ParsedownExtended facilitates the automatic creation of a Table of Contents (ToC) for your Markdown documents. This feature dynamically includes every heading in the document, streamlining the process by eliminating the need for manually adding anchors to each title. The ToC is generated automatically, enhancing navigability and structure in longer documents.

Configuration Syntax​

To enable or configure the ToC feature, use the setSetting method:

$ParsedownExtended->setSetting('toc', (boolean|array) $value);

Parameters​

Configure ToC with these options:

  • headings (array): Defines which heading levels to include in the ToC.
  • set_toc_tag (string): Sets a custom markdown tag for generating the ToC.

Generating ToC and Content Separately​

ParsedownExtended offers methods to generate ToC and content separately:

  • contentsList(): Returns just the "ToC" as an HTML <ul> list.
  • body(): Parses content without [toc] tag.
  • text(): Parses content with [toc] tag(s).

Example usage:

$content = file_get_contents('sample.md');
$Parsedown = new ParsedownExtended();

$body = $Parsedown->body($content);
$toc = $Parsedown->contentsList();

echo $toc; // Table of Contents
echo $body; // Main body content

Examples​

Enable ToC​

To enable the ToC feature:

$ParsedownExtended->setSetting('toc', true);

Customize ToC​

Customize ToC with specific configurations:

$ParsedownExtended->setSetting('toc', [
'headings' => ['h1', 'h2', 'h3'], // Headings to include
'set_toc_tag' => '[toc]', // Custom ToC tag
]);